// Package model 定义了所有数据模型
// 对应数据库表结构,使用 GORM ORM 框架进行映射
package model

// =====================================================
// 导出说明
// =====================================================
// 本包包含以下模型:
//
// 1. Feed - RSS订阅源
// 2. Article - RSS文章
// 3. Tag - 标签
// 4. ArticleTag - 文章标签关联(多对多中间表)
// 5. UserPreference - 用户配置
//
// 使用方式:
//   import "github.com/yourusername/rss-reader-ai/internal/model"
//
//   var feed model.Feed
//   var article model.Article
//
// =====================================================
// GORM 自动迁移
// =====================================================
// 如果需要使用 GORM 自动创建/更新表结构,可以这样做:
//
//   db.AutoMigrate(
//       &model.Feed{},
//       &model.Article{},
//       &model.Tag{},
//       &model.ArticleTag{},
//       &model.UserPreference{},
//   )
//
// 注意: 生产环境不推荐使用 AutoMigrate,建议使用 SQL 迁移脚本
//
// =====================================================
// 表关系说明
// =====================================================
//
// Feed (1) ----< (N) Article
//   一个订阅源有多篇文章
//
// Article (N) >----< (N) Tag
//   多对多关系,通过 ArticleTag 中间表关联
//
// =====================================================

// AllModels 返回所有模型的切片,用于批量操作
// 例如: db.AutoMigrate(model.AllModels()...)
func AllModels() []interface{} {
	return []interface{}{
		&Feed{},
		&Article{},
		&Tag{},
		&ArticleTag{},
		&UserPreference{},
	}
}
